﻿using System.Collections.Generic;
using TicketReservationSystem.Common.Entities;
using TicketReservationSystem.Common.Utils;

namespace TicketReservationSystem.Common.Interfaces
{
    public interface IFlightManagement
    {
        Result Add(City city);
        Result Add(Airport airport);
        Result Add(Airline airline);
        Result Add(Plane plane);
        Result Add(Flight flight);

        Result Remove(City city);
        Result Remove(Airport airport);
        Result Remove(Airline airline);
        Result Remove(Plane plane);
        Result Remove(Flight flight);
        Result Remove(Customer customer);
        Result Remove(Reservation reservation);

        IList<City> AllCities();
        IList<Airport> AllAirports();
        IList<Airline> AllAirlines();
        IList<Plane> AllPlanes();
        IList<Flight> AllFlights();
        IList<Customer> AllCustomers();
        IList<Reservation> AllReservations(); 
    }
}
